﻿// -- MVC4WPF
// -- Copyright © 2009 Information Control Corporation
// -- Revision History:
// -- Version 0.9.0.0 First codeplex release  - Stephen Giffin

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MVC4WPF.Automation.Dialog;
using MVC4WPF.Automation.Data;

namespace MVC4WPF.Automation.VisualStudio.Dialog
{
    /// <summary>
    /// Stores all the data that is used in a create model dialog
    /// </summary>
    public class ModelDialogPropertyBag : DialogBasePropertyBag
    {
        #region Property - AvailableModelContracts
        //Local variable for property AvailableModelContracts
        private List<ContractType> _availableModelContract;

        /// <summary>
        /// List of model contracts available for this model.
        /// </summary>
        /// <remarks>
        /// This property supports INotifyPropertyChanged and INotifyPropertyChanging
        /// </remarks>
        public List<ContractType> AvailableModelContracts
        {
            get
            {
                return _availableModelContract;
            }

            set
            {
                OnPropertyChanging("AvailableModelContracts");

                _availableModelContract = value;

                OnPropertyChanged("AvailableModelContracts");
            }
        }
        #endregion Property - AvailableModelContracts

        #region Property - SelectedModelContract
        //Local variable for property SelectedModelContract
        private ContractType _modelContract;

        /// <summary>
        /// The contract that has been selected for the model
        /// </summary>
        /// <remarks>
        /// This property supports INotifyPropertyChanged and INotifyPropertyChanging
        /// </remarks>
        public ContractType SelectedModelContract
        {
            get
            {
                return _modelContract;
            }

            set
            {
                OnPropertyChanging("SelectedModelContract");

                _modelContract = value;

                OnPropertyChanged("SelectedModelContract");
            }
        }
        #endregion Property - SelectedModelContract
    }
}
